Various techniques for computing corresponding points between multiple images or a motion vector in a moving picture have been researched and developed extensively. These are fundamental techniques that are commonly used in image quality improving processing such as photometric image stabilization for digital camcorders and digital cameras, moving picture encoding processing, safe driving support systems for automobiles, shape recognition processing for robots and so on.
As used herein, “multiple images” sometimes refers to multi-viewpoint images that have been shot by multiple cameras with mutually different viewpoints and sometimes refers to a moving picture consisting of multiple images that have been shot back to back at regular time intervals (of a 1/30 second, for example) with a single camera. A technique for computing corresponding points between such multi-viewpoint images and a technique for calculating a motion vector in a moving picture have a lot in common, and therefore, will not be regarded herein as distinct ones.
Typical techniques for computing corresponding points between multiple images or a motion vector are disclosed in Patent Document No. 1 and Non-Patent Documents Nos. 1 and 2, for example. Specifically, a block matching method in which either a difference in luminance or a correlation value between rectangular areas of multiple images is used as an evaluation value to find a location with the best evaluation value is disclosed in Patent Document No. 1. A gradient method for calculating the magnitude of displacement based on the spatial gradient of the luminances of an image and the difference in luminance between multiple images is disclosed in Non-Patent Document No. 1. And a phase correlation method for calculating the magnitude of displacement by a Fourier transform using the peak value of a phase correlation function is disclosed in Non-Patent Document No. 2. However, it is known that these conventional techniques have a problem because if the illumination conditions (such as the relative positions of a light source, a subject and a camera or the intensities of light sources) were different between multiple images, the corresponding points computed would have increased positional errors.
Meanwhile, techniques for reducing such a positional error between corresponding points in multiple images that have been shot under mutually different illumination conditions are disclosed in Patent Documents Nos. 2 and 3, for example.
Specifically, according to the technique disclosed in Patent Document No. 2, some pixels, of which the luminances fall within a predetermined range, are extracted from an incoming image to reduce the influence of a mirror reflection area in an image and thereby calculate a motion vector with a reduced positional error. By adopting this technique, the error of a motion vector in a mirror reflection area could be reduced to a certain degree but the error of a motion vector in a non-mirror reflection area could not.
On the other hand, according to the technique disclosed in Patent Document No. 3, attention is paid to the spatial gradient of luminances and to edges, corners and other areas with a significant luminance variation and a motion vector is calculated in those areas. Such a technique can reduce the positional error of a motion vector in an edge area with a steep luminance gradient.                Patent Document No. 1: Japanese Patent No. 2676978        Patent Document No. 2: Japanese Patent Application Laid-Open Publication No. 2000-36051        Patent Document No. 3: Japanese Patent Application Laid-Open Publication No. 7-66989        Non-Patent Document No. 1: Bruce D. Lucas and Takeo Kanade, “An Iterative Image Registration Technique with an Application to Stereo Vision”, International Joint Conference on Artificial Intelligence, pp. 674-679, 1981        Non-Patent Document No. 2: Carlo Tomasi and Takeo Kanade, “Detection and Tracking of Point Features”, Carnegie Mellon University Technical Report CMU-CS-91-132, April 1991        